implementation *1000

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
int n, input;
string s;
vector<int> jump;
bool vis[100005];
bool bisa = false;

void grasshopper(int x){
	if(x < 0 || x >= n){
		bisa = true;
		return;
	}
	if(vis[x]){
		bisa = false;
		return;
	}
	vis[x] = true;
	if(s[x] == '>'){
		grasshopper(x+jump[x]);
	}
	else{
		grasshopper(x-jump[x]);
	}
}

int main(){
	
	cin >> n;
	cin >> s;
	for(int i = 0; i < n; i++){
		cin >> input;
		jump.push_back(input);
	}
	grasshopper(0);
	if(bisa){
		cout << "FINITE";
	}
	else cout << "INFINITE";
}
 	 		 	 	 			 		  		 	 								


Comments

Submit
0 Comments
More Questions

287B - Pipeline
510A - Fox And Snake
1520B - Ordinary Numbers
1624A - Plus One on the Subset
350A - TL
1487A - Arena
1520D - Same Differences
376A - Lever
1305A - Kuroni and the Gifts
1609A - Divide and Multiply
149B - Martian Clock
205A - Little Elephant and Rozdil
1609B - William the Vigilant
978B - File Name
1426B - Symmetric Matrix
732B - Cormen --- The Best Friend Of a Man
1369A - FashionabLee
1474B - Different Divisors
1632B - Roof Construction
388A - Fox and Box Accumulation
451A - Game With Sticks
768A - Oath of the Night's Watch
156C - Cipher
545D - Queue
459B - Pashmak and Flowers
1538A - Stone Game
1454C - Sequence Transformation
165B - Burning Midnight Oil
17A - Noldbach problem
1350A - Orac and Factors